package pe.gob.mtpe.renoccsys.mybatis.implementacion;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import pe.gob.mtpe.renoccsys.bean.Lugejeobr;
import pe.gob.mtpe.renoccsys.bean.Renocc;
import pe.gob.mtpe.renoccsys.mybatis.comun.MyBatisConnectionFactory;
import pe.gob.mtpe.renoccsys.mybatis.interfase.INTLugejeobr;

public class IMPLugejeobr implements INTLugejeobr {
	
	
private SqlSessionFactory sqlSessionFactory;
	
	public IMPLugejeobr(){
		sqlSessionFactory=MyBatisConnectionFactory.getSqlSessionFactory();
	}

	
	@Override
	public void insertar(Lugejeobr objLugarEjecucionObra) throws Exception{
		
		SqlSession session = sqlSessionFactory.openSession();
		objLugarEjecucionObra.valuestoString();
		try {
			
		    session.delete("Lugejeobr.deleteLugejeobr",objLugarEjecucionObra);
		    session.insert("Lugejeobr.insertar",objLugarEjecucionObra);
						
			session.commit();
			System.out.println("REALIZADO insertar EN IMPLugejeobr");
		} 
		catch(Exception ex){
			session.rollback();
			ex.printStackTrace();
		}
		finally {
			session.close();
		}

	}
	 
	public void insertar(Renocc parametros) throws Exception{
		
		SqlSession session = sqlSessionFactory.openSession();

		try {
			
		    if(parametros.getListaLugarEjecucionObra().size()>0){
		    	parametros.getListaLugarEjecucionObra().get(0).valuestoString();
		    	 parametros.getListaLugarEjecucionObra().get(0).setnCorrenocc(parametros.getnCorrenocc());
		    	session.delete("Lugejeobr.deleteLugejeobr",parametros.getListaLugarEjecucionObra().get(0));
		    }
		   for (int i = 0; i < parametros.getListaLugarEjecucionObra().size(); i++) {
			   parametros.getListaLugarEjecucionObra().get(i).setnCorrenocc(parametros.getnCorrenocc());
			   session.insert("Lugejeobr.insertar",parametros.getListaLugarEjecucionObra().get(i));
		   	}
						
			session.commit();
			
		} 
		catch(Exception ex){
			session.rollback();
			ex.printStackTrace();
		}
		finally {
			session.close();
		}

	}

}
